package cn.javass.dp.factorymethod.example3;

/**
 * 提供给客户端使用的实现方式
 */
public  class ExportOperate  {

    public boolean export(String data) {
        System.out.println("1、进行数据校验");
        System.out.println("2、进行数据的封装");
        ExportFileApi api = factoryMethod();
  /*     使用工厂模式 移除下面代码
        if (type == 1) {

            api = new ExportTextFile();

        } else if (type == 2) {

            api = new ExportDB();
        }*/
        return api.export(data);
        }

//protected abstract  ExportFileApi factoryMethod();


protected ExportFileApi factoryMethod() {
        return new ExportTextFile();//提供一个使用得比较多的默认实现类
        }

public ABC createABC(String name) {
        return new ABC(name, factoryMethod());
        }
        }
